# @Time    :2025/3/29 0:50
"""

题目 2：在一个函数中，定义一个全局变量 total 初始值为 0，再定义一个内部函数 update_total，
在 update_total 函数中使用 global 关键字修改 total 的值，使其每次调用增加 5。
然后调用 update_total 函数三次，并在每次调用后打印 total 的值。
同时，再定义一个嵌套函数，在嵌套函数中使用 nonlocal 关键字修改外部函数的一个变量，
并在调用外部函数后观察变量的变化。
"""
total = 0
def outer():
    num = 10
    def update_total():
        global total
        total += 5
        print(f"total 的值: {total}")

    def nested():
        nonlocal num
        num *= 2
        print(f"内部嵌套函数中 num 的值: {num}")

    update_total()
    nested()
    print(f"外部函数中 num 的值: {num}")

outer()
print(f"最终 total 的值: {total}")

# total=0
#
# def out_func():
#     def update_total():
#         global total
#         total+=5
#     update_total()
#     print("1",total)
#     update_total()
#     print("2",total)
#
#     update_total()
#     print("3",total)
